#!/bin/sh
#
# This is the script for generating files for a specific Dalton test job.
#
# For the .check file ksh or bash is preferred, otherwise use sh
# (and hope it is not the old Bourne shell, which will not work)
#
if [ -x /bin/ksh ]; then
   CHECK_SHELL='#!/bin/ksh'
elif [ -x /bin/bash ]; then
   CHECK_SHELL='#!/bin/bash'
else
   CHECK_SHELL='#!/bin/sh'
fi


#######################################################################
#  TEST DESCRIPTION
#######################################################################
cat > choact_mp2_energy.info <<'%EOF%'
   choact_mp2_energy
   -----------------
   Molecule:         Butanal
   Wave Functions:   6-31G* / MP2
   Test Purpose:     Active subsystem
%EOF%

#######################################################################
#  INTEGRAL INPUT
#######################################################################
cat > choact_mp2_energy.mol <<'%EOF%'
BASIS
6-31G*
---------------------
---------------------
    3  0 0X  Y  Z  a  0.10D-14
        6.    4 Basis=ano-1 4 3 1 0
C                    -2.376412   -0.514508    0.000000
C                    -0.878966   -0.834134    0.000000
C                     0.000000    0.420686    0.000000
C                     1.491097    0.127586    0.000000
        8.    1 Basis=ano-1 4 3 1 0
O                     2.350398    0.980215    0.000000
        1.    8 Basis=ano-1 3 1 0
H                    -2.657387    0.069536   -0.884732
H                    -2.977587   -1.430257    0.000000
H                    -2.657387    0.069536    0.884732
H                    -0.634569   -1.448601    0.877705
H                    -0.634569   -1.448601   -0.877705
H                    -0.212368    1.051038   -0.875369
H                    -0.212368    1.051038    0.875369
H                     1.768734   -0.953188    0.000000
%EOF%

#######################################################################
#  DALTON INPUT
#######################################################################
cat > choact_mp2_energy.dal <<'%EOF%'
**DALTON INPUT
.RUN WA
**HERMIT
.NOSUP
**SIRIUS
.CC
*SCF IN
.THRESHOLD
 1.0D-8
.MAX DIIS
 100
*ORBITAL
.MOSTART
 HUCKEL
*CC INP
.PRINT
 3
.MP2
*CHOACT
.ATOMIC
  -3
  1
   4
  2
   5   13
.THACOC
  0.15
.THACVI
  0.1
**END OF DALTON INPUT
%EOF%
#######################################################################

 

#######################################################################

#######################################################################
#  CHECK SCRIPT
#######################################################################
echo $CHECK_SHELL >choact_mp2_energy.check
cat >>choact_mp2_energy.check <<'%EOF%'
log=$1

if [ `uname` = Linux ]; then
   GREP="egrep -a"
else
   GREP="egrep"
fi

if $GREP -q "not implemented for parallel calculations" $log; then
   echo "TEST ENDED AS EXPECTED"
   exit 0
fi

# SCF and  MP2 CC2 energies:
CRIT1=`$GREP "Total SCF" $log | $GREP "\-230.9811249" | wc -l`
CRIT2=`$GREP "Total MP2" $log | $GREP "\-231.1937954" | wc -l`
TEST[1]=`expr $CRIT1 \+ $CRIT2`
CTRL[1]=4
ERROR[1]="ENERGIES NOT CORRECT"


# Amplitudes
CRIT1=`$GREP "Number of t1 amplitudes" $log | $GREP "156" | wc -l`
CRIT2=`$GREP "Number of t2 amplitudes" $log | $GREP "12246" | wc -l`
TEST[2]=`expr $CRIT1 \+ $CRIT2`
CTRL[2]=2
ERROR[2]="NUMBER OF AMPLITUDES NOT CORRECT"


PASSED=1
for i in 1 2
do
   if [ ${TEST[i]} -ne ${CTRL[i]} ]; then
     echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); "
     PASSED=0
   fi
done

if [ $PASSED -eq 1 ]
then
  echo TEST ENDED PROPERLY
  exit 0
else
  echo THERE IS A PROBLEM
  exit 1
fi


%EOF%
chmod +x choact_mp2_energy.check
#######################################################################
